An updated version of this material is available in the sample sections from Foundations of Game Engine Development, Volume 2: Rendering.